/** * QuickUML; A simple UML tool that demonstrates one use of the Java Diagram Package Copyright (C) 2001 Eric Crahen <crahen@cse.buffalo.edu> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package uml.ui; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.UIManager; /** * @class FontTile * * @date 08-20-2001 * @author Eric Crahen * @version 1.0 * */ public class FontTile extends JButton { private String title; private String fontProperty; /** * Create a new ColorTilefor the given UIManager property. * * @param String property */ public FontTile(String fontProperty) { this(fontProperty, "Choose a Color"); } /** * Create a new ColorTilefor teh given UIManager property and the given title * on the font chooser. * * @param String property * @param String chooser title */ public FontTile(String fontProperty, String title) { this.fontProperty = fontProperty; this.title = title; Font font = UIManager.getFont(fontProperty); if(font == null) font = UIManager.getFont("Label.font"); if(font != null) { setFont(font); setText(font.getName()); } setHorizontalAlignment(JLabel.CENTER); } public Dimension getMinimumSize() { return getPreferredSize(); } public Dimension getPreferredSize() { Dimension dim = super.getPreferredSize(); dim.height = 35; return dim; } /** * Listen for press event */ protected void fireActionPerformed(ActionEvent event) { Font font = JFontChooser.showDialog(this, title, UIManager.getFont(fontProperty)); if(font != null) { UIManager.put(fontProperty, font); setText(font.getName()); } } }